home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / cctools / libstuff / errors.c < prev    next >
C/C++ Source or Header  |  1994-10-05  |  2KB  |  108 lines

  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <stdarg.h>
  5. #include <errno.h>
  6. #include <mach/mach.h>
  7. #include <mach/mach_error.h>
  8.  
  9. #include "stuff/errors.h"
  10.  
  11. unsigned long errors = 0;    /* number of calls to error() */
  12.  
  13. /*
  14.  * Just print the message in the standard format without setting an error.
  15.  */
  16. void
  17. warning(
  18. const char *format,
  19. ...)
  20. {
  21.     va_list ap;
  22.  
  23.     va_start(ap, format);
  24.         fprintf(stderr, "%s: ", progname);
  25.     vfprintf(stderr, format, ap);
  26.         fprintf(stderr, "\n");
  27.     va_end(ap);
  28. }
  29.  
  30. /*
  31.  * Print the error message and return to the caller after setting the error
  32.  * indication.
  33.  */
  34. void
  35. error(
  36. const char *format,
  37. ...)
  38. {
  39.     va_list ap;
  40.  
  41.     va_start(ap, format);
  42.         fprintf(stderr, "%s: ", progname);
  43.     vfprintf(stderr, format, ap);
  44.         fprintf(stderr, "\n");
  45.     va_end(ap);
  46.     errors++;
  47. }
  48.  
  49. /*
  50.  * Print the error message, the architecture if not NULL and return to the
  51.  * caller after setting the error indication.
  52.  */
  53. void
  54. error_with_arch(
  55. const char *arch_name,
  56. const char *format,
  57. ...)
  58. {
  59.     va_list ap;
  60.  
  61.     va_start(ap, format);
  62.         fprintf(stderr, "%s: ", progname);
  63.     if(arch_name != NULL)
  64.         fprintf(stderr, "for architecture: %s ", arch_name);
  65.     vfprintf(stderr, format, ap);
  66.         fprintf(stderr, "\n");
  67.     va_end(ap);
  68.     errors++;
  69. }
  70.  
  71. /*
  72.  * Print the error message along with the system error message and return to
  73.  * the caller after setting the error indication.
  74.  */
  75. void
  76. system_error(
  77. const char *format,
  78. ...)
  79. {
  80.     va_list ap;
  81.  
  82.     va_start(ap, format);
  83.         fprintf(stderr, "%s: ", progname);
  84.     vfprintf(stderr, format, ap);
  85.     fprintf(stderr, " (%s)\n", strerror(errno));
  86.     va_end(ap);
  87.     errors++;
  88. }
  89.  
  90. /*
  91.  * Print the error message along with the mach error string.
  92.  */
  93. void
  94. my_mach_error(
  95. kern_return_t r,
  96. char *format,
  97. ...)
  98. {
  99.     va_list ap;
  100.  
  101.     va_start(ap, format);
  102.         fprintf(stderr, "%s: ", progname);
  103.     vfprintf(stderr, format, ap);
  104.     fprintf(stderr, " (%s)\n", mach_error_string(r));
  105.     va_end(ap);
  106.     errors++;
  107. }
  108.